home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / gdb-4.5 / dist / gdb / environ.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-02-21  |  1.7 KB  |  59 lines

  1. /* Header for environment manipulation library.
  2.    Copyright 1989, 1992 Free Software Foundation.
  3.  
  4. This program is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation; either version 2 of the License, or
  7. (at your option) any later version.
  8.  
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. GNU General Public License for more details.
  13.  
  14. You should have received a copy of the GNU General Public License
  15. along with this program; if not, write to the Free Software
  16. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  17.  
  18. #if !defined (ENVIRON_H)
  19. #define ENVIRON_H 1
  20.  
  21. /* We manipulate environments represented as these structures.  */
  22.  
  23. struct environ
  24. {
  25.   /* Number of usable slots allocated in VECTOR.
  26.      VECTOR always has one slot not counted here,
  27.      to hold the terminating zero.  */
  28.   int allocated;
  29.   /* A vector of slots, ALLOCATED + 1 of them.
  30.      The first few slots contain strings "VAR=VALUE"
  31.      and the next one contains zero.
  32.      Then come some unused slots.  */
  33.   char **vector;
  34. };
  35.  
  36. extern struct environ *
  37. make_environ PARAMS ((void));
  38.  
  39. extern void
  40. free_environ PARAMS ((struct environ *));
  41.  
  42. extern void
  43. init_environ PARAMS ((struct environ *));
  44.  
  45. extern char *
  46. get_in_environ PARAMS ((const struct environ *, const char *));
  47.  
  48. extern void
  49. set_in_environ PARAMS ((struct environ *, const char *,
  50.             const char *));
  51.  
  52. extern void
  53. unset_in_environ PARAMS ((struct environ *, char *));
  54.  
  55. extern char **
  56. environ_vector PARAMS ((struct environ *));
  57.  
  58. #endif    /* defined (ENVIRON_H) */
  59.